package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 招聘计划信息对象 sys_positions_plan
 * 
 * @author ruoyi
 * @date 2025-07-16
 */
public class SysPositionsPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 招聘计划ID */
    private Long planId;

    /** 招聘计划编码 */
    @Excel(name = "招聘计划编码")
    private String planCode;

    /** 招聘计划名称 */
    @Excel(name = "招聘计划名称")
    private String planName;

    /** 招聘岗位批次编号 */
    @Excel(name = "招聘岗位批次编号")
    private String batchNumber;

    /** 报名截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationDeadline;

    /** 审核截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approveDeadline;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }

    public void setPlanCode(String planCode) 
    {
        this.planCode = planCode;
    }

    public String getPlanCode() 
    {
        return planCode;
    }

    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }

    public void setBatchNumber(String batchNumber) 
    {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber() 
    {
        return batchNumber;
    }

    public void setRegistrationDeadline(Date registrationDeadline) 
    {
        this.registrationDeadline = registrationDeadline;
    }

    public Date getRegistrationDeadline() 
    {
        return registrationDeadline;
    }

    public void setApproveDeadline(Date approveDeadline) 
    {
        this.approveDeadline = approveDeadline;
    }

    public Date getApproveDeadline() 
    {
        return approveDeadline;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("planCode", getPlanCode())
            .append("planName", getPlanName())
            .append("batchNumber", getBatchNumber())
            .append("registrationDeadline", getRegistrationDeadline())
            .append("approveDeadline", getApproveDeadline())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
